package com.simtop.service;


import com.simtop.pojo.exchangepo.Answer;
import com.simtop.pojo.exchangepo.Question;

import java.util.List;

/**
 * @Author: liuzhaobo
 * @Description: 交流中心
 * @DateTime: 2022/9/1 0001 10:41
 * @Params:
 * @Return
 */
public interface QuestionAnswerService {

    /**
     * 查询所有记录
     *
     * @return 返回集合，没有返回空List
     */
    List<Question> listAll(Question question);

    /**
     * 根据主键查询
     *
     * @param questionId 主键
     * @return 返回记录，没有返回null
     */
    Question getById(Integer questionId);

    /**
     * 新增，插入所有字段
     *
     * @param tbQuestion 新增的记录
     * @return 返回影响行数
     */
    int insert(Question tbQuestion);

    /**
     * 修改，修改所有字段
     *
     * @param tbQuestion 修改的记录
     * @return 返回影响行数
     */
    int update(Question tbQuestion);

    /**
     * 删除记录
     *
     * @param tbQuestion 待删除的记录
     * @return 返回影响行数
     */
    int delete(Question tbQuestion);

    /**
     * 根据问题id获取回答
     *
     * @param answer
     * @return
     */
    List<Answer> getAllAnswer(Answer answer);

    /**
     * 新增，插入所有字段
     *
     * @param answer 新增的记录
     * @return 返回影响行数
     */
    int insertAnswer(Answer answer);

    /**
     * 修改，修改所有字段
     *
     * @param answer 修改的记录
     * @return 返回影响行数
     */
    int updateAnswer(Answer answer);

    /**
     * 删除记录
     *
     * @param answer 待删除的记录
     * @return 返回影响行数
     */
    int deleteAnswer(Answer answer);

    /**
     * 获取通过的回复数
     *
     * @param questionId
     * @return
     */
    int getPassAnswer(Integer questionId);

    /**
     * 获取总回复数
     *
     * @param questionId
     * @return
     */
    int totalPasswordAnswer(Integer questionId);

    /**
     * 做实验时获取的所有
     *
     * @return
     */
    List<Question> getPageQuestion();

    /**
     * 做实验时获取的所有回复
     *
     * @return
     */
    List<Answer> getPageAnswer(Integer questionId, Integer userId);
}
